中间件解析漏洞 第四十一天
IIS解析漏洞
成因
1、当WEB目录下,文件名以xxx.asp;xxx.xxx来进行命名的时候,此文件将送交asp.dll解析(也就是执行脚本)
2、当WEB目录下,文件名以"xxx.asp命名的目录下"的任意文件时,此文件将送交asp.dll解析(执行脚本)
大概流程为:
请求 /aaa.asp;xxxx.jpg
N1:从头部查找查找 "."号,获得 .asp;xxxx.jpg
N2:查找";"号,如果有则内存截断
N3:查找"/",如果有则内存截断
最终,将保留下来 .asp 字符串,从META_SCRIPT_MAP脚本映射表里与扩展名匹配对比,并反馈给了asp.dll处理
后缀为两类:
一类:文件型,即冒号 /xx.asp:.jsp
二类: 文件名为/xx.asp;.jsp
{/xx.asp:.jpg此类文件在windows中有NTFS数据流的存在,:.jpg自动出去,剩下/xx.asp}
解析扩展(xx.asa,xx.cer,xx.cdx)在IIS6.0中的默认
在iis默认配置中,这几个后缀默认由asp.dll来解析,执行权限和。asp一样
可由此处,解析漏洞:/xx.asa/xx.jpg或者/xx.cer/xx.jpg或者xx.asa;.jpg
IIS7.0和IIS7.5中的漏洞
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面加上/xx.php会将 /xx.jpg/xx.php
解析为 php 文件。常用利用方法: 将一张图和一个写入后门代码的文本文件合并 将恶意文本写入图片的二进制代码之后,避免破坏图片文件头和尾
copy xx.jpg/b+yy.txt/a xy.jpg
解析:
/b 即二进制[binary]模式
/a 即ascii模式 xx.jpg正常图片文件
yy.txt 内容 ’);?>
意思为写入一个内容为 名称为shell.php的文件
nginx解析漏洞
Nginx<=0.0.37
在Fast-CGI关闭的情况下,Nginx <=0.8.37 依然存在解析漏洞,在一个文件路径(/xx.jpg)
后面加上.php会将 /xx.jpg.php 解析为 php 文件。
(站长评论:从 /test.jpg/x.php 演变过来的,具体可以参考:Ngnix 空字节可远程执行代码漏洞
apache解析漏洞
后缀解析text.php.x1.x2.x3
apache将从右到左开始判断后缀,若x3非可识别后缀,再判断x2,直到找到可识别后缀为止,然后
将该可识别后缀进解析
test.php.x1.x2.x3 会被解析为php
php|php3|phtml多被apache解析
关于apache解析漏洞可以查阅apache漏洞后缀名解析
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 zhumeng512@qq.com
文章标题:中间件解析漏洞 第四十一天
本文作者:弈少
发布时间:2019-09-16, 18:53:16
最后更新:2019-09-16, 20:44:47
原始链接:http://yoursite.com/2019/09/16/北京渗透测试第四十一天 20190916/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。